
#!/bin/bash

# 定义变量
APP_NAME="oct-ywsc-msg.jar"  # 替换为你的 Spring Boot 应用 JAR 文件名
LOG_FILE="app.log"                  # 日志文件名（可选）
JAVA_OPTS="-Xms1024m -Xmx2048m"      # JVM 参数（根据需要调整）

# 查找并杀掉之前的进程
echo "正在查找并杀掉之前的 $APP_NAME 进程..."
PID=$(ps aux | grep "$APP_NAME" | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
    echo "找到旧进程 PID: $PID，正在杀掉..."
    kill -9 $PID
    sleep 2  # 等待进程完全退出
else
    echo "未找到旧进程，无需杀掉。"
fi


CUR_DIR=$(pwd)

# 启动新的 Spring Boot 应用
echo "正在启动新的 $APP_NAME ..."
nohup java $JAVA_OPTS -jar $APP_NAME --spring.config.location=$CUR_DIR/config/ --logging.config=${CUR_DIR}/config/logback-spring.xml> $LOG_FILE 2>&1 &

# 获取新启动的进程 ID
NEW_PID=$(ps aux | grep "$APP_NAME" | grep -v grep | awk '{print $2}')
if [ -n "$NEW_PID" ]; then
    echo "新进程已启动，PID: $NEW_PID"
else
    echo "启动失败，请检查日志或配置！"
    exit 1
fi